var obj = {
  name: 'why',
  age: 18
}

// 原型式继承函数

// 写法一：
function createObject(o) {
  var newObj = {}
  Object.setPrototypeOf(newObj, o)
  return newObj
}

// 写法二:
function createObject2(o) {
  function Fn() {}
  Fn.prototype = o
  var newObj = new Fn()
  return newObj
}

// 写法三：
// var info = Object.create(obj)


// 让 info 对象的原型为 obj
var info = createObject(obj)
console.log(info.__proto__) // { name: 'why', age: 18 }